serial: 8250: Add CAP_MINI, set for bcm2835aux
authorPhil Elwell <phil@raspberrypi.org>
Fri, 19 May 2017 14:07:27 +0000 (15:07 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Thu, 15 Feb 2018 17:37:52 +0000 (17:37 +0000)
commit9534aa83239e585bc6cf8f6558ff4096ebd58d71
treefd47665d99e33d9c3e01c605b5090fb28829a578
parente86de1407615e011e44e9f036119f9a6e3140869
serial: 8250: Add CAP_MINI, set for bcm2835aux

The AUX/mini-UART in the BCM2835 family of procesors is a cut-down
8250 clone. In particular it is lacking support for the following
features: CSTOPB PARENB PARODD CMSPAR CS5 CS6

Add a new capability (UART_CAP_MINI) that exposes the restrictions to
the user of the termios API by turning off the unsupported features in
the request.

N.B. It is almost possible to automatically discover the missing
features by reading back the LCR register, but the CSIZE bits don't
cooperate (contrary to the documentation, both bits are significant,
but CS5 and CS6 are mapped to CS7) and the code is much longer.

See: https://github.com/raspberrypi/linux/issues/1561

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/tty/serial/8250/8250.h
drivers/tty/serial/8250/8250_bcm2835aux.c
drivers/tty/serial/8250/8250_port.c